package com.smedi.ismedi.progress.core;

import com.smedi.ismedi.authoritymanagement.api.feign.RemoteAuthorityRoleManagementFeignApi;
import com.smedi.ismedi.constructionproject.api.feign.RemoteConstructionProjectFeignApi;
import com.smedi.ismedi.constructionproject.api.feign.RemoteProjectAssignmentFeignApi;
import com.smedi.ismedi.file.feign.RemoteFileFeignApi;
import com.smedi.ismedi.inmail.api.feign.RemoteMessageFeignApi;
import com.smedi.ismedi.inmail.api.feign.RemoteProcessFeignApi;
import com.smedi.ismedi.inmail.api.feign.RemoteTaskFeignApi;
import com.smedi.ismedi.notification.api.feign.RemoteSmsNotificationFeignApi;
import com.smedi.ismedi.organization.api.feign.RemoteHrOrganizationFeignApi;
import com.smedi.ismedi.organization.api.feign.RemoteProjectOrganizationFeignApi;
import com.smedi.ismedi.personnel.api.feign.RemotePersonCoreFeignApi;
import lombok.extern.slf4j.Slf4j;
import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.openfeign.EnableFeignClients;

/**
 * 启动类
 *
 * @author xienannan
 * @date 2021/09/03
 */
@EnableDiscoveryClient
@EnableFeignClients(basePackages = {
        "com.smedi.ismedi.file.feign",
        "com.smedi.ismedi.inmail",
        "com.smedi.ismedi.personnel.api.feign",
        "com.smedi.ismedi.authoritymanagement.api.feign",
        "com.smedi.ismedi.file.feign",
        "com.smedi.ismedi.organization.api.feign",
        "com.smedi.ismedi.constructionproject.api.feign",
        "com.smedi.ismedi.notification.api.feign",
}, basePackageClasses = {
        RemoteFileFeignApi.class,
        RemoteMessageFeignApi.class,
        RemoteTaskFeignApi.class,
        RemotePersonCoreFeignApi.class,
        RemoteAuthorityRoleManagementFeignApi.class,
        RemoteProjectAssignmentFeignApi.class,
        RemoteFileFeignApi.class,
        RemoteProjectOrganizationFeignApi.class,
        RemoteConstructionProjectFeignApi.class,
        RemoteProcessFeignApi.class,
        RemoteSmsNotificationFeignApi.class,
        RemoteHrOrganizationFeignApi.class
})
@SpringBootApplication(scanBasePackages={"com.smedi.ismedi"})
@Slf4j
@MapperScan({"com.smedi.ismedi.progress.core.port.adapter.persistence.mybatis.mapper"})
public class ISmediProgressCoreApplication {
    public static void main(String[] args) {
        SpringApplication.run(ISmediProgressCoreApplication.class, args);
        log.debug("启动成功！！！");
    }
}
